ThoughtSpotからBigQueryへ接続してみる
データアナリティクス事業本部、池田です。
ThoughtSpotからGoogleのデータウェアハウスである
BigQuery に接続してみました。
他のDWHの思い出はこちら↓
BigQuery側準備
サンプルデータ
今回は BigQuery の一般公開データセット
から出生データの natality
サンプルテーブルを使ってみます。
ただし、サービス アカウント経由で一般公開データセットに接続する方法が分からなかったので、
自作のデータセット内にテーブルの内容をコピーしてきています。
(また、 Google スプレッドシートをBigQueryに参照させたテーブル
も試したのですが、ThoughtSpotから接続できませんでした…)
この辺は接続する方法が分かれば追記します。たぶん。
サービス アカウントの作成
ガイドの BigQuery connection reference
を参考に、GCPの サービス アカウント
を作成します。
以下私の場合の作業をざっくり掲載します。
- ガイドで指定されたBigQuery関連の権限を持つ ロール を作成
- サービス アカウントを作成(↓表示されていませんが、前述のロールを紐づけ)
キーを作成&取得しておく! - 対象のテーブルを含むデータセットに、サービス アカウントをオーナーとして設定
ThoughtSpotから接続してみる
ThoughtSpotへの接続を作成します。 ガイドは Add a Google BigQuery connection です。
- 新規で接続の追加を開始
- 接続名などを入力し、BigQueryを選択
- GCPプロジェクトのIDと前章で作成したサービス アカウントのキーを入力
(Continue押下後、入力に誤りがある場合や参照できるテーブルが全く無い場合などはエラーとなりました) - データセットとテーブルの一覧が表示されるので、使用するものを選択し、接続を作成
- 接続が追加される
テーブル名を選択して、データを確認できる
通常ならこのあとは、列の設定やテーブルの結合の設定などをするか、 ワークシート化することになると思います。 (参考ブログ: ThoughtSpotの列に関する設定 、 ThoughtSpotでGeo chartsを表示してみる 、 ThoughtSpotのワークシートを使ってみる )
詳細は割愛しますが、簡単な列の設定だけで、↓のような検索&可視化をすぐに行うことができました。
今回のサンプルデータは、双子以上の人数(数値)や、男子かどうか(boolean)などの列があるので、
実際に分析メンバーに展開する場合には、扱いやすいようにワークシートを使っての加工が必要そうだなと感じました。
おわりに
以前のSnowflakeやAmazon Redshiftの時はDBのユーザ&PWで接続を作成したので、 今回のサービス アカウント作成は毛色が違うなと感じました。でもまあ、大した作業量ではありませんでしたね。
今回のも含め、何種類かのDWHへの接続をこれまで試してみました。 ThoughtSpotでいろいろなサービスを使ったデータ分析が捗りそうですね!